package com.example.mybatis.sqlserver.springbootmybatissqlserver.service;

import com.example.mybatis.sqlserver.springbootmybatissqlserver.controller.DeleteCategoryDTO;
import com.example.mybatis.sqlserver.springbootmybatissqlserver.pojo.dto.*;

import java.util.List;

/**
 * Created by hzy on 2019/2/19.
 */

public interface ICategoryService {
    WebResultBean<GetCategoryDTO> addCategory(AddCategoryDTO dto);

    WebResultBean<Boolean> updateCategory(EditCategoryDTO dto);

    WebResultBean<List<GetCategoryDTO>> getCategoriesByParentId(String parentId);

    WebResultBean<GetCategoryDTO> findCategory(String categoryId);

    WebResultBean<Boolean> deleteCategory(DeleteCategoryDTO dto);

    WebResultBean<List<GetPropertyDTO>> listCategoryPropertyName(String categoryId);

    WebResultBean<Boolean> addCategoryProperty(AddCategoryPropertyDTO dto);

    WebResultBean<GetPropertyDTO> findCategoryPropertyById(String propertyId);

    WebResultBean<Boolean> updateCategoryPropertyName(EditCategoryPropertyDTO dto);

    WebResultBean<Boolean> setCategoryPropertyNameIsShow(SetCategoryPropertyNameIsShowDTO dto);

    WebResultBean<Boolean> addCategoryPropertyValue(AddCategoryPropertyValueDTO dto);

    WebResultBean<Boolean> editCategoryPropertyValue(EditCategoryPropertyValueDTO dto);

    WebResultBean<Boolean> setCategoryPropertyValueIsShow(SetCategoryPropertyValueIsShowDTO dto);

    WebResultBean<List<GetCategoryTreeDTO>> getCategoryTree();

    WebResultBean<List<GetPropertyValueDTO>> listCategoryPropertyValue(String propertyId);
}
